package com.errol.generic.baiducloud.basic;

import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;

/**
 * 百度云基础接口
 *
 * @author zhang xiao bin
 * @version v1.0
 * @date 2020/09/21
 * @since v4.7.2
 **/
public interface BaiduBasicService {

    /**
     * 获取 access token，百度云根据每个 appId 生成 token
     * 因此接口内根据 appId 维护对应 token 的有效期
     *
     * @param appId     appId
     * @param apiKey    apiKey
     * @param secretKey secretKey
     * @return appId 对应的 token
     */
    @Nullable
    String getAccessToken(@NonNull String appId, @NonNull String apiKey, @NonNull String secretKey);

    /**
     * 使 appId 对应的 access token 缓存无效化
     * @param appId appId
     */
    void invalidAccessToken(@NonNull String appId);

}
